/*
 * Parque.h
 *
 *  Created on: 05/07/2014
 *      Author: migue
 */

#ifndef PARQUE_H_
#define PARQUE_H_

#include "iMemComp.h"
#include "../defines.h"

class Parque {
public:
	Parque(bool crear = true);

	virtual bool hayEspacio();

	/**
	 * retorna ID de la persona dentro del parque
	 */
	virtual int registrarIngreso();

	virtual void registrarSalida(int idPersona);

	virtual bool parqueAbierto();

	virtual bool hayPersonasDentro();

	virtual void inicializar();

	virtual void destruir();

	virtual void abrirParque();

	virtual void cerrarParque();

	virtual int personasDentro();

	virtual int busesDeRepuesto();

	virtual void agregarBusesDeRepuesto(int cantidad);

	virtual void repuestoDeBUSUsado();

	virtual ~Parque();

private:

	void cambiarParque(bool abierto);

	iMemComp *_mcParque;
};

#endif /* PARQUE_H_ */
